home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-03 / bltq13a.zip / BORLAND.ZIP / FIX104.TXT < prev    next >
Text File  |  1993-07-22  |  2KB  |  33 lines

  1. 22-Jul-93
  2.  
  3. To fix the problem with Borland C compilers in large memory models
  4. do the following:
  5.  
  6.  1. Create a new directory.
  7.  2. Copy BULLET.LIB 1.03 to it
  8.  3. Copy this fix's files to it (DOSFNXB.OBJ and MEMCXB.OBJ)
  9.  4. Do   C>lib bullet.lib -+dosfnxb -memxb +memcxb;   (exactly!)
  10.  
  11. That's it. BULLET.LIB is updated and should run as expected. The memcxb.obj is
  12. written for LARGE memory model, only. With a couple conditionals, MEDIUM could
  13. be used but it's not necessary. The problem with Borland compilers is that
  14. the base their memory management on memory that isn't theirs, so whenever
  15. a DOS INT21/48 call is made, the Borland memory manager crashes. This patch
  16. routes BULLET DOS INT21/48/49 calls to _malloc and _free. This patch is
  17. for LARGE models only. It's not required for MEDIUM.
  18.  
  19. MEMCXB.ASM is included. Makes for easy programmer changes of this non-
  20. standard module (non-standard in that it requires a C runtime library).
  21.  
  22. --The reason DOSFNXB.OBJ is removed and replaced (-+dosfnxb) from the .LIB
  23. is that xb$malloc, xb$free, and xb$SetHandleCount are in that module. The new
  24. DOSFNXB.OBJ does not have these. These routines have been put in their own
  25. module, MEMCXB.OBJ, which is added to the library (+memcxb).
  26.  
  27. BTW, the xb$SetHandleCount no longer works. I'll have to do it manually
  28. (which I had to do in previous code since INT21/67 is available only in DOS
  29. 3.3+) but that's no problem. If you call INITXB with IP.jftmode=1, error 1 is
  30. return for invalid function.
  31.  
  32. chh
  33.